/*
 * MediaRender.cpp
 *
 *  Created on: 2017年3月16日
 *      Author: chuanjiang.zh
 */

#include "MediaRender.h"
#include "CMediaRender.h"
#include "Ffmpeg.h"
#include "CLog.h"
#include "SDL.h"

namespace av
{

void MediaRender::startup()
{
	av_register_all();
	avformat_network_init();
    avfilter_register_all();

	if (CLog::startup("MediaRenderLog.ini") != 0)
	{
		CLog::setLogger(CLog::COUT);

#ifdef WIN32
		CLog::setLogger(CLog::DEBUGWINDOW);
#endif //
	}

	SDL_Init(SDL_INIT_EVERYTHING);
}

void MediaRender::cleanup()
{
	avformat_network_deinit();

	SDL_Quit();
}


MediaRender* MediaRender::create(void* wnd)
{
	CMediaRender* render = new CMediaRender(wnd);
	return render;
}


void MediaRender::destroy(MediaRender* render)
{
	if (render)
	{
		render->close();
		delete render;
	}
}



} /* namespace av */
